Skip to content

proto(sql): add Redpanda SQL dataplane API#2467

Open
r-vasquez wants to merge 1 commit into
masterfrom
sql-protos
Open

proto(sql): add Redpanda SQL dataplane API#2467
r-vasquez wants to merge 1 commit into
masterfrom
sql-protos

Conversation

@r-vasquez
Copy link
Copy Markdown
Contributor

Adds the dataplane API surface for the
in-Console SQL editor backed by Oxla over
the Postgres wire protocol. The service
covers catalog and table introspection
(ListCatalogs, ListDatabases, ListTables,
DescribeTable) and single-statement
execution (ExecuteQuery) with a
server-side row cap. Lands in v1alpha3
since the surface is expected to evolve
before GA.

Auth flows pass through the caller's
Cloud OIDC bearer to Oxla, which requires
adding API_OXLA to the shared API enum.

@r-vasquez r-vasquez requested a review from c-julin May 25, 2026 21:54
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 25, 2026

The latest Buf updates on your PR. Results from workflow Buf CI / validate (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMay 26, 2026, 8:29 PM

Comment thread proto/redpanda/api/auth/v1/authorization.proto Outdated
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto Outdated
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto Outdated
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto Outdated
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto Outdated
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto
Comment thread proto/redpanda/api/dataplane/v1alpha3/sql.proto
repeated Row rows = 2;
// True if the server row cap fired before the result set was
// exhausted.
bool truncated = 3;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my preference here is what goland does and autopaginates so if server limit is 500 we do offset/limit pagination. maybe thats a follow up might not be performant on big datasets

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you expand on this a little bit? it is the idea to have a pagination mechanism (page_token, etc) and only paginate when?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so in jetbrains datagrip probably other tools too, if you dont set a limit it will return only the first 500 results and gives you a next page token instead of truncating.
This probably for the backend but we need to handle the user asking for like 100000 records or something, so maybe we parse the query?

Adds the dataplane API surface for the
in-Console SQL editor backed by Oxla over
the Postgres wire protocol. The service
covers catalog and table introspection
(ListCatalogs, ListDatabases, ListTables,
DescribeTable) and single-statement
execution (ExecuteQuery) with a
server-side row cap. Lands in v1alpha3
since the surface is expected to evolve
before GA.

Auth flows pass through the caller's
Cloud OIDC bearer to Oxla, which requires
adding API_OXLA to the shared API enum.
Comment on lines +204 to +209
// Optional SQL LIKE pattern matched against table name (e.g.
// 'orders_%'). When unset, all tables in the catalog are returned.
optional string filter = 4 [
(buf.validate.field).string.max_len = 255,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {description: "Optional SQL LIKE pattern matched against table name (e.g. 'orders_%')."}
];
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@c-julin Is this what you meant?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

exactly ! yes

@r-vasquez
Copy link
Copy Markdown
Contributor Author

@r-vasquez r-vasquez marked this pull request as ready for review May 27, 2026 20:17
@r-vasquez r-vasquez requested a review from c-julin May 27, 2026 20:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants